perm filename NSEG[4,KMC]1 blob sn#055992 filedate 1973-07-31 generic text, type T, neo UTF8
00100	COMMENT ⊗   VALID 00002 PAGES
00200	C REC  PAGE   DESCRIPTION
00300	C00001 00001
00400	C00002 00002	EXPR SEGMENT(L)
00500	C00004 ENDMK
00600	C⊗;
     

00100	EXPR SEGMENT(L);
00200		SEGMENT1(NIL,L);
00300	
00400	EXPR SEGMENT1(S,R:X);
00500		IF ¬R THEN <S>
00600		ELSE IF NUMBERP(R[1]) | ¬R[1].STOPPER THEN SEGMENT1(S @<R[1]>, CDR R)
00700		ELSE IF R[1].LONG & (X←PREFIX(R[1].LONG, R[1].LONG, R)) 
00800			THEN IF S THEN S CONS SEGMENT1(<X[1]>, X[2])
00900			ELSE SEGMENT1(<X[1]>, X[2])
01000		ELSE IF S THEN S CONS SEGMENT(R)
01100		ELSE SEGMENT1(<R[1]>,CDR R);
01200	
01300	EXPR PREFIX(P,L,I);
01400		IF ¬L THEN <P,I>
01500		ELSE IF ¬I THEN NIL
01600		ELSE IF L[1] NEQ I[1] THEN NIL
01700		ELSE PREFIX(P, CDR L, CDR I);
01800	
01900	EXPR INIT();
02000		BEGIN
02100		NEW INPT;
02200		FOR NEW I IN '(
02300		ABOUT (ACCORDING TO) (ALMOST AS) AMID AS (AS FAR AS) AT
02400		BETWEEN BY (SO THAT) YET ON WITHOUT IF OFF WITH DURING
02500		FOR FROM INTO IN (OUT OF) PAST SINCE THROUGH TO (IN ORDER TO)
02600		(MORE OVER) ALTHOUGH HOWEVER THEREFORE UNLESS OR NOR NEITHER
02700		AND WHETHER INDEED EXCEPT EXCEPTING FURTHERMORE THAT WHO WHOM
02800		WHICH WHENEVER WHEN WHERE WHY WHAT (IT WILL BE GRANTED THAT)
02900		BUT BETWEEN (ON TOP OF) AMIDST UNDER BESIDE BESIDES UNDERNEATH 
03000		INTO LATER OUT OUTSIDE UP DOWN (INSTEAD OF) FIRST BEFORE AFTER
03100		) DO IF ATOM I THEN I.STOPPER{0}←T
03200		ELSE I[1].LONG{0} ← I;
03300	
03400		WHILE INPT←READ() DO TERPRI PRINT SEGMENT(INPT);
03500		END;
03600	
03700	_EOF_